﻿using System;
using Business_Entity;
using System.Collections.Generic;
using DAOFactory;
using System.Data.SqlClient;

namespace Business_Logic
{
	/// <summary>
	/// Description of BLTienda.
	/// </summary>
	public class BLTienda
	{

        private DAOTienda tiendaDAO;

        public DAOTienda TiendaDAO
        {
            get { return tiendaDAO; }
            set { tiendaDAO = value; }
        }

        
        private List<BEEstadoTienda> estadoTiendaLST;/*Para mostrar los estados de la tienda*/

        public List<BEEstadoTienda> EstadoTiendaLST
        {
            get { return estadoTiendaLST; }
        }



        private List<BETipoServicio> tipoServicioLST;

        public List<BETipoServicio> TipoServicioLST
        {
            get { return tipoServicioLST; }
        }


        private List<BEServicio> servicioLST;

        public List<BEServicio> ServicioLST
        {
            get { return servicioLST; }
        }


        private List<BE_servicioXtienda> servicioXtiendaLST;///Los servicios que ofrece una tienda especifica.

        public List<BE_servicioXtienda> ServicioXtiendaLST
        {
            get { return servicioXtiendaLST; }
        }


        private BETienda tiendaBE;

        public BETienda TiendaBE
        {
            set { this.tiendaBE = value; }
            get { return tiendaBE; }
        }



        public BLTienda()
        {
            this.tiendaDAO = new DAOTienda();
        }




        public List<BETienda> buscar(BETienda tiendaBE)
        {
            List<BETienda> tiendaLST = this.tiendaDAO.buscar(tiendaBE);
            return tiendaLST;
        }

        
        




        public void cargarEstadoTienda()
        {
            this.estadoTiendaLST = this.tiendaDAO.cargarEstadoTiendaLST();
        }







        public void cargarTipoServicio()
        {
            this.tipoServicioLST = this.tiendaDAO.cargarTipoServicioLST();
        }







        public void cargarServicio()
        {
            this.servicioLST = this.tiendaDAO.cargarServicioLST();
        }







        public void cargarServicio_X_Tienda()
        {
            this.servicioXtiendaLST = this.tiendaDAO.cargarServicio_X_TiendaLST(this.TiendaBE.Id);
        }

        public void insertar(BETienda tiendaBE,ref int error, ref string mensajeError)
        {
            List <BETienda> tiendaLST= new List<BETienda>();
            tiendaLST.Add(tiendaBE);
            this.tiendaDAO.insertar(tiendaLST, ref error, ref mensajeError);
            
        }







        public void cargarTienda()
        {
            this.TiendaBE = this.tiendaDAO.cargarTienda(this.TiendaBE.Id);
        }








        public void actualizar(BETienda tiendaBE, List<BE_servicioXtienda> servicioXtiendaLST,ref int error,ref string mensajeError)
        {
            List<BETienda> tiendaLST = new List<BETienda>(); //que el BL empaquete la lista
            tiendaLST.Add(tiendaBE);
            this.tiendaDAO.actualizar(tiendaLST, servicioXtiendaLST, ref error, ref mensajeError);
        }





        public void eliminar(List<BETienda> tiendaLST, ref int error, ref string mensajeError)
        {
            this.tiendaDAO.eliminar(tiendaLST, ref error, ref mensajeError);
        }


		//FIORELLA
		public List<BETienda> getAllTiendasFiorella(){
			return this.tiendaDAO.getAllTiendaFiorella();
		}

		//FIORELLA
		public BETienda getTiendaByCodFiorella(int cod){
			return this.tiendaDAO.buscarTiendaFiorella(cod);
		}
		

        public List<BEEmpleado> buscarEmpleado(BEEmpleado empleadoBE,ref int error,ref  string mensajeError)
        {
            return this.tiendaDAO.buscarEmpleado(empleadoBE, ref error, ref  mensajeError);
        }
	}
    
}
